(function($, window, undefined) {
    $.EtNodeIcon = $.EtNodeIcon || {};
	$.EtNodeIcon.list = {};
	
	$.extend($.EtNodeIcon, {
        "version": "1.0.0",
		//定义外部扩展方法接口
        "extend": function(methods) {
            $.extend($.fn.EtNodeIcon, methods);
			
			if (!this.no_legacy_api) {
				$.fn.extend(methods);
			}
        },
		"randomString" : function(length) {
			var chars = 'abcdefghiklmnopqrstuvwxyz'.split('');
			 
			if (! length) {
				 length = Math.floor(Math.random() * chars.length);
			 }
			 
			var str = '';
			 for (var i = 0; i < length; i++) {
				 str += chars[Math.floor(Math.random() * chars.length)];
			 }
			 return str;
		 }
    });
	
	//常用扩展方法
	$.EtNodeIcon.extend({
    });
	
	
	$.fn.EtNodeIcon = function(options) {
        var _this = this;

		//合并参数
        var config = $.extend({},$.fn.EtNodeIcon.defaults, options);
        
		//内部扩展
		var bosom = {
		};

		_this.bosom = bosom;
		_this.config = config;
		
		//初始化
		init(_this);
		
		if(_this.config.gridId){
		}else{
			_this.config.gridId = $.EtNodeIcon.randomString(8);
		}
		
		$.EtNodeIcon.list[_this.config.gridId] = _this;
		
		return _this;
    };
	
	$.fn.EtNodeIcon.defaults = {
		selectId:'', //选择按钮Id
		clickIcon:function(obj){}, //点击图标事件
		pluginPath:'Public/Plugins/EtNodeIcon/' //插件位置
    };
	
	/**************************私有方法开始***************************/
	//初始化方法
	function init(_this){
		var _that = _this;
		var html = '';

		html += init_layout(_that); //初始化界面
		_that.html(html); //初始化界面
		
		bindEvent(_that); //绑定初始化界面事件
	}
	
	//初始化界面
	function init_layout(_this){
		var _that = _this;
		
		var html = '';
		html += '<div class="etNodeIcon">';
		html += '<ul class="etNodeIcon_header clearfix">';
		html += '<li class="active" path="01" load="no">第一组</li>';
		html += '<li  path="02" load="no">第二组</li>';
		html += '<li  path="03" load="no">第三组</li>';
		html += '<li  path="04" load="no">第四组</li>';
		html += '<li  path="05" load="no">第五组</li>';
		html += '<li  path="06" load="no">第六组</li>';
		html += '<li  path="07" load="no">第七组</li>';
		html += '</ul>';
		html += '<ul class="etNodeIcon_content clearfix">';
		html += '<li>';
		html += '</li>';
		html += '<li style="display:none;">';
		html += '</li>';
		html += '<li style="display:none;">';
		html += '</li>';
		html += '<li style="display:none;">';
		html += '</li>';
		html += '<li style="display:none;">';
		html += '</li>';
		html += '<li style="display:none;">';
		html += '</li>';
		html += '<li style="display:none;">';
		html += '</li>';
		html += '</ul>';
		html += '</div>';
		
		return html;
	}
	
	//创建表头
	function bindEvent(_this){
		var _that = _this;
		
		_that.find('.etNodeIcon>.etNodeIcon_header>li').on('click',function(){
			var index = $(this).index();
			$(this).addClass('active').siblings().removeClass('active');
			var content = _that.find('.etNodeIcon>.etNodeIcon_content>li:eq('+index+')');
			
			if($(this).attr('load')=='no'){				
				content.html('');
				
				$.get(_that.config.pluginPath+'PHP/list.php',{path:$(this).attr('path')},function(data){
					if(data.status==0){
						content.html('没有找到任何文件');
					}else{
						var html = '';
						$.each(data,function(i,n){
							html += '<span><img src="'+_that.config.pluginPath+n+'" source="'+n+'"/></span>';
						});
						content.html(html);
						$(this).attr('load','ok')
					}
				},'json');
			}
			
			_that.find('.etNodeIcon>.etNodeIcon_content>li').hide();
			content.show();
		});
		
		$('#'+_that.config.selectId).on('click',function(){
			_that.find('.etNodeIcon').toggle();
		});
		
		_that.find('.etNodeIcon>.etNodeIcon_content>li>span').live('click',function(){	
			_that.config.clickIcon($(this));
			_that.find('.etNodeIcon').hide();
		});
		
		_that.find('.etNodeIcon>.etNodeIcon_header>li:eq(0)').click();
	}
})(jQuery, window);